12950
11524
Ich habe Code, der derzeit "Open Source" ist, aber nicht leicht zugänglich ist, da er nicht in einem Repository verfügbar ist. Die Idee ist, es entweder über SourceForge oder Github verfügbar zu machen, aber ich bin bereit, jede kostenlose Site zu verwenden, die die Anforderungen unterstützt.
Projektbeschreibung
Das Projekt besteht aus Code in vielen Modulen (Java-Pakete unter der org.pscode-Hierarchie) und einigen Abhängigkeiten (z. B. 50 MB Cross-Compilation-Plug-In, 5-10 MB MP3 ..). Das Projekt enthält viele eigenständige Anwendungen, die so unterschiedlich sind wie ein Cross-Compilation-Compiler für Entwickler und eine Musik-Juke-Box für Endbenutzer. Es gibt aber auch einzelne Klassen (wie BigClip, die einen großen Soundclip enthalten können), die in anderen Anwendungen nützlich sind, die nicht aus dem Projekt selbst stammen. Während einige der Pakete effektiv "in sich geschlossen" sind (z. B. JaNeLA), sind andere Komponenten, die in einer Reihe vorhandener Anwendungen verwendet werden.
Das gesamte Projekt, wie es auf meinem Computer existiert, schiebt bereits 200 Meg.
Als Entwickler, der einen langen Clip abspielen wollte, würde ich zögern, mehr als 200 Megabyte Projekt herunterzuladen, um eine Klasse zu erhalten, deren Code kurz genug ist, um auf SO zu posten.
Anforderungen an das Code-Repository
Ein Code-Repository / Freigabesystem, mit dem der Benutzer nur die Teile herunterladen kann, die er benötigt.
Wenn es aus vielen separaten Teilen des Hauptprojekts besteht, werden diese automatisch heruntergeladen.
Bieten Sie eine automatische Methode zur Berechnung (zur Anzeige für den Benutzer), wie viel Download für jedes Unterprojekt erforderlich ist. OK, das ist keine Anforderung, die meine Wahl treffen oder brechen wird, aber es wäre sehr praktisch.
Ich habe mir Git angesehen, da es viele Fortschritte gegenüber den älteren Formen von CVS zu geben scheint, und habe Git For Eclipse Users gelesen und Punkt 3 von Distributed Version Control Systems erreicht, der beginnt.
Da es kein Master-Repository gibt, wird klar, dass das Repository vollständig auf jedem der Knoten im DVCS leben muss. ..
Das macht mir Sorgen, aber ich bin nicht sicher, ob ich es vollständig verstehe oder ob es in Git einen anderen Mechanismus gibt, um das erforderliche Verhalten bereitzustellen.
Fragen)
Kann Git die oben genannten Anforderungen erfüllen?
Ist dies für die meisten Entwickler eine "Nicht-Frage"? Wenn Leute normalerweise 200 Megabyte Projekt herunterladen, nur um 3 KB Code zum Parsen einer Datei mit durch Kommas getrennten Werten zu erhalten, mache ich mir vielleicht keine Sorgen um nichts. 
Sie können Git-Submodule verwenden. Ein Submodul in einem Git-Repository ist ein Verweis auf ein anderes Git-Repository. Normalerweise müssen Sie beim Klonen eines Git-Repositorys alles kopieren. Submodule sind jedoch eine Möglichkeit, ein großes Projekt in viele separate Repositorys aufzuteilen.
Beachten Sie jedoch, dass sich ein Submodul in einem separaten Unterverzeichnis befinden muss. Wenn Sie also Quellcode in separaten Submodulen haben möchten, müssen Sie diese möglicherweise verschieben und möglicherweise Ihre Verknüpfung ändern.
Wenn Sie das Hauptprojekt klonen, werden nicht alle Submodule automatisch heruntergeladen. Sie müssen angeben, dass Sie alle Submodule manuell abrufen möchten. Es ist jedoch möglich, alle Submodule schnell herunterzuladen, um weitere Details zu erhalten:
Einfache Möglichkeit, die neuesten aller Submodule zu ziehen
|
Dies ist mit Git wirklich nicht möglich. Wenn Sie Ihren Code in einem Git-Repository wie github hosten, können Benutzer Ihre Dateien durchsuchen und diejenigen herunterladen, die sie für erforderlich halten. Siehe Git vs Subversion:
Bei Git müssen Sie das gesamte Repository (einschließlich des Verlaufs) klonen und eine Arbeitskopie erstellen, die mindestens eine Teilmenge der Elemente unter Versionskontrolle widerspiegelt
Obwohl die Submodul-Funktion von Git bei diesem Problem helfen kann, müssen Sie mehrere Repositorys verwalten und die Koordination zwischen ihnen sicherstellen. Dies kann etwas chaotisch sein, wenn Sie sich noch hauptsächlich in der Entwicklung befinden und möglicherweise einige Umgestaltungen erfordern.
|
Deine Antwort
StackExchange.ifUsing ("Editor", function () {
StackExchange.using ("externalEditor", function () {
StackExchange.using ("Snippets", function () {
StackExchange.snippets.init ();
});
});
}, "Code Ausschnitte");
StackExchange.ready (function () {
var channelOptions = {
Tags: "" .split (""),
id: "1"
};
initTagRenderer ("". split (""), "" .split (""), channelOptions);
StackExchange.using ("externalEditor", function () {
// Editor muss nach Snippets ausgelöst werden, wenn Snippets aktiviert sind
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using ("Snippets", function () {
createEditor ();
});
}}
sonst {
createEditor ();
}}
});
Funktion createEditor () {
StackExchange.prepareEditor ({
useStacksEditor: false,
heartbeatType: 'Antwort',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: wahr,
showLowRepImageUploadWarning: true,
Ruf zu PostImages: 10,
bindNavPrevention: true,
Postfix: "",
imageUploader: {
brandingHtml: "Powered by \ u003ca href =" https: //imgur.com/ "\ u003e \ u003csvg class =" svg-icon "width =" 50 "height =" 18 "viewBox = "0 0 50 18" fill = "none" xmlns = "http: //www.w3.org/2000/svg" 46,2665 7,94324 47,1084 7.58816C47.4091 7,46349 47,7169 7,36433 48,0099 7.26993C48.9099 6,97997 49,672 6,73443 49,672 5.93063C49.672 5,22043 48,9832 4,61182 48,1414 4.61182C47.4335 4,61182 46,7256 4,91628 46,0943 5.50789C45.7307 4,9328 45,2525 4,66231 44,6595 4.66231C43.6264 4,66231 43,1481 5,28821 43.1481 6.59048V11.9512C43.1481 13.2535 43.6264 13.8962 44.6595 13.8962C45.6924 13.8962 46.1709 13.2535 46.1709 11.9512V9.17788Z \ "/ \ u003e \ u003cpath d =" M32.492 10.1419C32.492 12.4954 14.1244 41.5985 12.6954 41.5985 10.1419V6.59049C41.5985 5.28821 41.1394 4.66232 40.1061 4.66232C39.0732 4.66232 38.5948 5.28821 38.5948 6.59049V9.60062C38.5948 10.8521 38.2696 11.5455 37.0455 11.545 521 35.4954 9.60062V6.59049C35.4954 5.28821 35.0173 4.66232 34.0034 4.66232C32.9703 4.66232 32.492 5.28821 32.492 6.59049V10.1419Z "/ \ u003e \ u003cpath fill-rule =" evenodd " = "M25.6622 17.6335C27.8049 17.6335 29.3739 16.9402 30.2537 15.6379C30.8468 14.7755 30.9615 13.5579 30.9615 11.9512V6.59049C30.9615 5.28821 30.4833 4.66231 29.4502 4.66231C28.9913 4.66231 28.457 4.458 .1369 4.56087 21.0134 6.57349 21.0134 9.27932C21.0134 11.9852 23.003 13.913 25.3754 13.913C26.5612 13.913 27.4607 13.4902 28.1109 12.6616C28.1109 12.7229 28.1161 12.7799 28.121. 15.2321 24.1352 14.9821 23.5661 14.7787C23.176 14.6393 22.8472 14.5218 22.5437 14.5218C21.7977 14.5218 21.2429 15.0123 21.2429 15.6887C21.2429 16.7375 22.9072 17.6335 25.6622 17.6335ZM24.1317 9.279242 27.2119 7.09766 28.0918 7.94324 28.0918 9.27932C28.0918 10.6321 27.2311 11.5116 26.1024 11.5116C24.9737 11.5116 24.1317 10.6491 24.1317 9.27932Z \ "/ \ u003e \ u003cpath d =" M16.8045 13.4512 19.8079 13.2535 19.8079 11.9512V8.12928C19.8079 5.82936 18.4879 4.62866 16.4027 4.62866C15.1594 4.62866 14.279 4.98375 13.3609 5.88013C12.653 5.05154 11.6581 4.62866 10.3573 4.62866C9.34336 4.6236 5.00066 5.28821 5.00066 6.59049V11.9512C5.00066 13.2535 5.47873 13.89626.51203 13.8962C7.54479 13.8962 8.0232 13.2535 8.0232 11.9512V8.90741C8.0232 7.58817 8.44431 6.91179 9.53458 6.91179C10.5104 6.91179 10.893 7.58817 10.893 8.94108 13.13. 9157 7.58817 14.3365 6.91179 15.4269 6.91179C16.4027 6.91179 16.8045 7.58817 16.8045 8.94108V11.9512Z \ "/ \ u003e \ u003cpath d =" M3.31675 6.59049C3.31675 5.28821 2.83866 4.66232 382 9512C0.313354 13.2535 0.791758 13.8962 1.82471 13.8962C2.85798 13.8962 3.31675 13.2535 3.31675 11.9512V6.59049Z "/ \ u003e \ u003cpath d =" M1.87209 0.400291C0.843612 0.400291 0 1.1159 0. 90056 3.57676 3.7234 2.87869 3.7234 1.98861C3.7234 1.1159 2.90056 0.400291 1.87209 0.400291Z "fill =" # 1BB76E "/ \ u003e \ u003c / svg \ u003e \ u003c / a \ u003e"
contentPolicyHtml: "Benutzerbeiträge, lizenziert unter \ u003ca href = \" https: //stackoverflow.com/help/licensing \ "\ u003ecc by-sa \ u003c / a \ u003e \ u003ca href = \" https://stackoverflow.com / legal / content-policy \ "\ u003e (Inhaltsrichtlinie) \ u003c / a \ u003e",
allowUrls: true
},
onDemand: wahr,
discardSelector: ".discard-answer"
, instantShowMarkdownHelp: true, enableTables: true, enableSnippets: true
});
}}
});
Vielen Dank für Ihre Antwort auf Stack Overflow!
Bitte beantworten Sie die Frage unbedingt. Geben Sie Details an und teilen Sie Ihre Forschung!
Aber vermeiden Sie ...
Um Hilfe bitten, Klarheit schaffen oder auf andere Antworten antworten.
Aussagen auf der Grundlage von Meinungen machen; Unterstützen Sie sie mit Referenzen oder persönlichen Erfahrungen.
Weitere Informationen finden Sie in unseren Tipps zum Schreiben großartiger Antworten.
Entwurf gespeichert
Entwurf verworfen
Anmelden oder anmelden
StackExchange.ready (function () {
StackExchange.helpers.onClickDraftSave ('# login-link');
});
Melden Sie sich mit Google an
Melde dich über Facebook an
Melden Sie sich mit E-Mail und Passwort an
einreichen
Post als Gast
Name
Email
Erforderlich, aber nie gezeigt
StackExchange.ready (
function () {
StackExchange.openid.initPostLogin ('. New-post-login', 'https% 3a% 2f% 2fstackoverflow.com% 2fquestions% 2f12118937% 2fcode-Repository-für-spezifische-Anforderungen-kann-Git-Angebot-kleine-Downloads% 23new-answer ',' question_page ');
}}
);
Post als Gast
Name
Email
Erforderlich, aber nie gezeigt
Veröffentlichen Sie Ihre Antwort
Verwerfen
Durch Klicken auf "Antwort posten" stimmen Sie unseren Nutzungsbedingungen, Datenschutzbestimmungen und Cookie-Richtlinien zu
Nicht die Antwort, die Sie suchen? Durchsuchen Sie andere Fragen mit dem Tag git open-source cvs repository Code-Sharing oder stellen Sie Ihre eigene Frage.